Implementation: Composing a Pipeline
実装には、以下の 2 つの段階がある
1. パイプラインの各ステップを、独立した関数として実装する
これにより、独立してテスト・理解することができるように
しかし、以下の 2 つの理由から、簡単に合成できない
1. 依存関係: パイプラインの一部ではないが、実装には必要な追加のパラメータがある この章で触れる
2. エフェクト: 出力に Result のようなエフェクトを用いると、中身のデータを入力とする関数と合成できない 次の章で触れる
実際にコードを書く時も、本書の流れと同様に、Result や Async などのエフェクトを気にせず、一旦すべてのステップを実装すると良い
フロー
前準備
SimpleTypes.fs など、実装とは別ファイルに記述する
各ステップの実装
ステップの合成
テスト
code:ワークフロー名.fs
module ワークフロー名 =
// 1. 設計 (型定義)
// 2. 各ステップの実装
// 3. メインとなるワークフローの関数